<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
  <div id="app"></div>
  <div id="con"></div>
  <script src="./vue.js"></script>
  <script>
    // Vue.extend
    //封装组件 考虑本组件使用的数据
    // 使用基础 Vue 构造器，创建一个“子类”。参数是一个包含组件选项的对象。
    var Com = Vue.extend({
      props: ["msg", "myflag"],
      template: `<div>
            <p>{{firtname}}</p>   <p>{{lastname}}</p>
            <h1>{{msg}}</h1>
            <h1 v-if="myflag">显示隐藏</h1>
       </div>`,
      data() {
        return {
          firtname: "内蒙古",
          lastname: "王一博"
        }
      },
      methods: {
        say() {
          alert(111)
        }
      }
    })
    // 用vue的构造器 vue.extend封装了一个组件 并实例化一个组件 
    //传递需要的props属性
    var listCom = new Com({
      propsData: {  //propsData 传递给封装组件的props
        msg: "你好",
        myflag: false
      }
    })
    var navCom = new Com({
      propsData: {
        msg: "我是导航组件",
        myflag: true
      }
    })
    listCom.$mount("#app")
    navCom.$mount("#con")

  </script>
</body>

</html>